﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ElectronicCommerce.Framework.Payment
{
    public enum PaymentExceptionType
    {
        /// <summary>
        /// 读取配置文件失败
        /// </summary>
        LoadConfigFail = 1,

        /// <summary>
        /// 支付模块类型在配置文件中配置不正确
        /// </summary>
        LoadPayEntryTypeFail = 2,

        /// <summary>
        /// 动态加载支付模块失败
        /// </summary>
        LoadPayEntryFail = 3,

        /// <summary>
        /// 重复的支付方式配置
        /// </summary>
        DuplicatePaymentMethodConfig = 4,

        /// <summary>
        /// 指定的支付方式在配置文件中没找到
        /// </summary>
        PaymentMethodSpecifiedNotFound = 5,

        /// <summary>
        /// 收费失败
        /// </summary>
        ChargeFail = 6,

        /// <summary>
        /// 收费回调验证失败
        /// </summary>
        ChargeCallbackVerifyFail = 7,

        /// <summary>
        /// 重复支付
        /// </summary>
        DuplicatePay = 8,

        /// <summary>
        /// 退款失败
        /// </summary>
        RefundFail = 9,

        /// <summary>
        /// 没有支付记录，不能退款
        /// </summary>
        NoPaid = 10,

        /// <summary>
        /// 无效的响应模式(UrlRedirect/ServerBack)
        /// </summary>
        InvalidResponseMode = 997,

        /// <summary>
        /// 没有测试网关地址
        /// </summary>
        NoTestGatewayAddress = 998,

        /// <summary>
        /// 未知错误
        /// </summary>
        UnKnownFail = 999
    }
}
